/*
 * A n t l r  S e t s / E r r o r  F i l e  H e a d e r
 *
 * Generated from: cl.g
 *
 * Terence Parr, Russell Quong, Will Cohen, and Hank Dietz: 1989-2001
 * Parr Research Corporation
 * with Purdue University Electrical Engineering
 * With AHPCRC, University of Minnesota
 * ANTLR Version 1.33MR33
 */

#define ANTLR_VERSION	13333
#include "pcctscfg.h"
#include "pccts_stdio.h"

#include <string>
#include <iostream>
#include <map>
#include <list>
#include <vector>
#include <fstream>

using namespace std;

#include <stdio.h>
#include <stdlib.h>
#include "ptype.hh"
#include "symtab.hh"
#include "codegest.hh"

/// struct to contain information about a token.
typedef struct {
  string kind;
  string text;
  int line;
} Attrib;

/// function called by the scanner when a new token is found
/// Predeclared here, definition below.
void zzcr_attr(Attrib *attr,int type,char *text);

/// Include AST node fields declaration
#include "myASTnode.hh"

/// Macro called by the parser when a new AST node is to be created
/// createASTnode function doing the actual job is defined below.
#define zzcr_ast(as,attr,tttype,textt) as=createASTnode(attr,tttype,textt);
AST* createASTnode(Attrib* attr, int ttype, char *textt);
#define zzSET_SIZE 8
#include "antlr.h"
#include "ast.h"
#include "tokens.h"
#include "dlgdef.h"
#include "err.h"

ANTLRChar *zztokens[60]={
	/* 00 */	"Invalid",
	/* 01 */	"INPUTEND",
	/* 02 */	"PROGRAM",
	/* 03 */	"ENDPROGRAM",
	/* 04 */	"PROCEDURE",
	/* 05 */	"ENDPROCEDURE",
	/* 06 */	"FUNCTION",
	/* 07 */	"ENDFUNCTION",
	/* 08 */	"FLOOR",
	/* 09 */	"CASTINGR",
	/* 10 */	"CASTINGI",
	/* 11 */	"COMA",
	/* 12 */	"VARS",
	/* 13 */	"VAL",
	/* 14 */	"REF",
	/* 15 */	"RETURN",
	/* 16 */	"ENDVARS",
	/* 17 */	"INT",
	/* 18 */	"REAL",
	/* 19 */	"BOOL",
	/* 20 */	"STRUCT",
	/* 21 */	"ARRAY",
	/* 22 */	"OF",
	/* 23 */	"ENDSTRUCT",
	/* 24 */	"READ",
	/* 25 */	"WRITE",
	/* 26 */	"WRITELN",
	/* 27 */	"IF",
	/* 28 */	"THEN",
	/* 29 */	"ELSE",
	/* 30 */	"ENDIF",
	/* 31 */	"WHILE",
	/* 32 */	"DO",
	/* 33 */	"ENDWHILE",
	/* 34 */	"DOT",
	/* 35 */	"OPENPAR",
	/* 36 */	"CLOSEPAR",
	/* 37 */	"OPENBRACK",
	/* 38 */	"CLOSEBRACK",
	/* 39 */	"NOT",
	/* 40 */	"DIV",
	/* 41 */	"MUL",
	/* 42 */	"PLUS",
	/* 43 */	"MINUS",
	/* 44 */	"EQ",
	/* 45 */	"GT",
	/* 46 */	"LT",
	/* 47 */	"AND",
	/* 48 */	"OR",
	/* 49 */	"ASIG",
	/* 50 */	"TRUEKWD",
	/* 51 */	"FALSEKWD",
	/* 52 */	"STRING",
	/* 53 */	"IDENT",
	/* 54 */	"INTCONST",
	/* 55 */	"REALCONST",
	/* 56 */	"COMMENT",
	/* 57 */	"WHITESPACE",
	/* 58 */	"NEWLINE",
	/* 59 */	"LEXICALERROR"
};
SetWordType zzerr1[8] = {0x78,0x90,0x0,0x8f, 0x0,0x0,0x20,0x0};
SetWordType setwd1[60] = {0x0,0x1,0x0,0x56,0xe,0x56,0xe,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
	0x56,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x36,0x36,0x36,0x36,0x0,0x40,0x40,
	0x36,0x0,0x40,0x0,0x0,0x0,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x36,0x0,
	0x0,0x0,0x0,0x0,0x0};
SetWordType zzerr2[8] = {0x50,0x0,0x0,0x0, 0x0,0x0,0x0,0x0};
SetWordType zzerr3[8] = {0x0,0x60,0x0,0x0, 0x10,0x0,0x0,0x0};
SetWordType zzerr4[8] = {0x0,0x60,0x0,0x0, 0x0,0x0,0x0,0x0};
SetWordType setwd2[60] = {0x0,0x0,0x0,0x2,0x2e,0x3a,0x2e,
	0x0,0x0,0x0,0x0,0x0,0x2c,0x40,0x40,
	0x36,0x1,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x2e,0x2e,0x2e,0x2e,0x0,0x0,0x0,
	0x2e,0x0,0x0,0x0,0x0,0x80,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x0,0x0,0x0,0x0,0x0,0x2f,0x0,
	0x0,0x0,0x0,0x0,0x0};
SetWordType zzerr5[8] = {0x0,0x7,0x0,0x0, 0x98,0x8,0xec,0x0};
SetWordType zzerr6[8] = {0x0,0x0,0x3e,0x0, 0x0,0x0,0x0,0x0};
SetWordType zzerr7[8] = {0x28,0x80,0x0,0xef, 0x2,0x0,0x22,0x0};
SetWordType zzerr8[8] = {0x0,0x0,0x0,0x6, 0x0,0x0,0x0,0x0};
SetWordType zzerr9[8] = {0x0,0x7,0x0,0x0, 0x88,0x8,0xfc,0x0};
SetWordType zzerr10[8] = {0x0,0x0,0x0,0x60, 0x0,0x0,0x0,0x0};
SetWordType zzerr11[8] = {0x0,0x0,0x0,0x8f, 0x0,0x0,0x20,0x0};
SetWordType setwd3[60] = {0x0,0x0,0x0,0x20,0x8,0x20,0x8,
	0x0,0x82,0x82,0x82,0x9,0x8,0x0,0x0,
	0x28,0x8,0x0,0x0,0x0,0x0,0x0,0x0,
	0x18,0x28,0x68,0x68,0x28,0x0,0x20,0x20,
	0x28,0x0,0x20,0x0,0x82,0xd,0x0,0x0,
	0x82,0x0,0x0,0x0,0x82,0x0,0x0,0x0,
	0x0,0x0,0x0,0x82,0x82,0x0,0xba,0x82,
	0x82,0x0,0x0,0x0,0x0};
SetWordType zzerr12[8] = {0x0,0x0,0x0,0x0, 0x0,0x80,0x1,0x0};
SetWordType zzerr13[8] = {0x0,0x0,0x0,0x0, 0x0,0x70,0x0,0x0};
SetWordType setwd4[60] = {0x0,0x0,0x0,0x55,0x0,0x55,0x0,
	0x54,0x0,0x0,0x0,0x54,0x0,0x0,0x0,
	0x55,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x55,0x55,0x55,0x55,0x54,0x55,0x55,
	0x55,0x54,0x55,0x0,0x0,0x54,0x0,0x54,
	0x0,0x80,0x80,0x20,0x20,0x48,0x48,0x48,
	0x52,0x52,0x0,0x0,0x0,0x0,0x55,0x0,
	0x0,0x0,0x0,0x0,0x0};
SetWordType zzerr14[8] = {0x0,0x7,0x0,0x0, 0x80,0x8,0x0,0x0};
SetWordType zzerr15[8] = {0x0,0x7,0x0,0x0, 0x88,0x8,0xec,0x0};
SetWordType zzerr16[8] = {0xa8,0x88,0x0,0xff, 0x7f,0xff,0x23,0x0};
SetWordType setwd5[60] = {0x0,0x0,0x0,0x2d,0x0,0x2d,0x0,
	0x2d,0x2,0x2,0x2,0x2d,0x0,0x0,0x0,
	0x2d,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
	0x0,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
	0x2d,0x2d,0x2d,0x18,0x0,0x2d,0x18,0x2d,
	0x2,0x2c,0x2c,0x2d,0x2f,0x2d,0x2d,0x2d,
	0x2d,0x2d,0x28,0x0,0x0,0x0,0x2d,0x0,
	0x0,0x0,0x0,0x0,0x0};
